新型NPM计时攻击可导致供应链攻击,GitHub 不打算修复
数字化时代,软件无处不在。软件如同社会中的“虚拟人”,已经成为支撑社会正常运转的最基本元素之一,软件的安全性问题也正在成为当今社会的根本性、基础性问题。
随着软件产业的快速发展,软件供应链也越发复杂多元,复杂的软件供应链会引入一系列的安全问题,导致信息系统的整体安全防护难度越来越大。近年来,针对软件供应链的安全攻击事件一直呈快速增长态势,造成的危害也越来越严重。
为此,我们推出“供应链安全”栏目。本栏目汇聚供应链安全资讯,分析供应链安全风险,提供缓解建议,为供应链安全保驾护航。
注:以往发布的部分供应链安全相关内容,请见文末“推荐阅读”部分。
网络安全研究员发现一起npm计时攻击泄露了私有程序包的名称,导致威胁行动者可快速发布并诱骗开发人员使用恶意克隆。
该攻击利用的是人们在搜索仓库中私有程序包时与搜索不存在的程序包时返回 “404未找到”错误之间的微小时间差。虽然该响应时间差仅仅是数百毫秒,但足以判断是否存在执行程序包模拟攻击的私有程序包。
组织机构为内部项目和某些软件产品创建私有程序包,将开发人员面临typosquatting攻击的风险最小化,并使其代码和函数保持私密状态。
保持私有程序包为私密状态对于其组织机构用户而言至关重要。否则,攻击者可创建克隆或遭typosquat的程序包,诱骗员工下载并用于软件项目中。如果开发人员和内部软件测试人员未发现攻陷情况,则产品可交付给最终用户,从而实现供应链攻击。
发布该研究成果的Aqua Security 公司的威胁研究团队表示,供应链攻击越来越频繁,2021年相关攻击活动增长了300%。
Npm 中包含一个 registry API,可使用户下载已有程序包,检查是否存在该程序包并接受某个特定范围内所有程序包的信息。
当使用该npm registry 下载并不存在或设置为私密状态的程序包时,该网站将访问一个404 HTTP错误信息,说明无法找到该程序包。研究人员通过该API检查自己在npm上创建的私有程序包是否存在,并对比了检查不存在程序包时所返回的404 HTTP 错误消息后,发现了这次npm 计时攻击。
研究人员五次检查某程序包名称进行测试,发现npm响应请求所需平均时间存在一个可衡量的差距,从而觉察出该程序包是私有程序包还是不存在的程序包。
更具体而言,检查私有程序包是否存在的平均响应时长是648毫秒,而检查是否不存在的平均响应时长降低至101毫秒。研究人员认为这种差别在于npm API的缓存机制和架构,从而引入了信息泄露的可能性。黑客可尝试“盲”字典攻击或查找目标组织机构公有仓库中的命名模式和组合,衍生出可能的私有仓库名称。此外,网络信息中包含历史程序包信息,因此攻击者可利用这些信息判断哪些公有程序包后续会转变为私有程序包。在后一种情况下,通过克隆程序包实现潜在攻陷可能会非常隐秘,因为曾被公开的程序包的老旧副本可能仍然保留足够多的功能,在软件产品中实现预期目标。
研究人员在2022年3月8日将该漏洞披露给GitHub,不过在3月25日得到回复称由于架构限制问题,该漏洞将不会被修复。
GitHub 指出,“由于这些架构性限制条件,我们无法阻止计时攻击判断某个特定的私有程序包是否存在于npm上。”研究人员表示,组织机构可采取预防措施,经常搜索 npm 中欺骗具有复制或类似名称的私有程序包的可疑程序包。另外,组织机构也可创建欺骗其私有程序包为占位符的公共程序包,因为npm不允许在公开仓库中上传同一名称的程序包。
PHP包管理器Composer组件 Packagist中存在漏洞,可导致软件供应链攻击
美国政府发布关于“通过软件安全开发实践增强软件供应链安全”的备忘录(全文)
OpenSSF发布4份开源软件安全指南,涉及使用、开发、漏洞报告和包管理等环节
美国政府发布联邦机构软件安全法规要求,进一步提振IT供应链安全
Apache开源项目 Xalan-J 整数截断可导致任意代码执行
Linux和谷歌联合推出安全开源奖励计划,最高奖励1万美元或更多
开源软件 LibreOffice 修复多个与宏、密码等相关的漏洞
Juniper Networks修复200多个第三方组件漏洞
PyPI 仓库中的恶意Python包将被盗AWS密钥发送至不安全的站点
开源项目 Parse Server 出现严重漏洞,影响苹果 Game Center
奇安信开源软件供应链安全技术应用方案获2022数博会“新技术”奖
热门PyPI 包 “ctx” 和 PHP库 “phpass” 长时间未更新遭劫持,用于窃取AWS密钥
趁机买走热门包唯一维护人员的邮件域名,我差点发动npm 软件供应链攻击
和GitHub 打官司?热门包 SheetJS出走npmjs.com转向自有CDN
不满当免费劳力,NPM 热门库 “colors” 和 “faker” 的作者设无限循环
NPM流行包再起波澜:维护人员对俄罗斯用户发特定消息,谁来保证开源可信?
200多个恶意NPM程序包针对Azure 开发人员,发动供应链攻击
NPM 修复两个严重漏洞但无法确认是否已遭在野利用,可触发开源软件供应链攻击
热门NPM库 “coa” 和“rc” 接连遭劫持,影响全球的 React 管道
速修复!热门npm 库 netmask 被曝严重的软件供应链漏洞,已存在9年
Pwn2Own大赛回顾:利用开源服务中的严重漏洞,攻陷西部数据My Cloud PR4100
热门开源后端软件Parse Server中存在严重的 RCE ,CVSS评分10分
原文链接:
https://www.bleepingcomputer.com/news/security/new-npm-timing-attack-could-lead-to-supply-chain-attacks/
题图:Pexels License
转载请注明“转自奇安信代码卫士 https://codesafe.qianxin.com”。
奇安信代码卫士 (codesafe)
国内首个专注于软件开发安全的产品线。